perm filename INTFAC.FAI[SYS,HE]6 blob
sn#070339 filedate 1973-11-09 generic text, type T, neo UTF8
COMMENT ⊗ VALID 00007 PAGES
RECORD PAGE DESCRIPTION
00001 00001
00002 00002 TITLE INTFAC
00004 00003 THIS IS THE 32 WORD MAIL MESSAGE
00005 00004 PACK: (INTEGER PTR,TIMEREFERENCE REAL SOLN)
00006 00005 ISSERV: 0
00008 00006 DOIT: MOVE 1,-1(17)
00009 00007 ACT: HRLI MASTER
00010 ENDMK
⊗;
TITLE INTFAC
INTERNAL DOIT,ARMPOS,ARM.JOINT,PACK
INTERNAL HANDFN,ARMFN,ARMPROCEED
EXTERNAL ARM.VECTOR,ARM.MOTION,ARM.STATUS,ARM.SEG
EXTERNAL ARM.WAIT,FELT,STOP.ON,ARM.TO
EXTERNAL ARM.MESSAGE,JOBREN,JOBSA
P←17
MASTER←←16661
RELOC←←40
TOUCH←←10
HOLD←←20
ARM.JOINT:MOVEI
SKIPA
ARMPOS: MOVEI 1
ONCE: HRRZ 1,JOBSA
HRRM 1,RSTSR
CALLI 1,30
MOVEM 1,SEGJOB
CALLI 1,24
MOVE 3,[POINT 6,0,35]
MOVE 4,[POINT 7,MYPPN-1,35]
MOVEI 7,1
I5: MOVEI 5,2
C7: ILDB 6,3
ADDI 6,40
CAIE 6,40
IDPB 6,4
SOJGE 5,C7
SOJGE 7,[MOVEI 6,"/"
IDPB 6,4
JRST I5]
MOVEI 6,15
IDPB 6,4
MOVEI 6,12
IDPB 6,4
MOVE 1,[JRST ACTIT]
MOVEM 1,ONCE
ACTIT: MOVEI 1,RSS
HRRM 1,JOBREN
MOVEI 1,RSTS
HRRM 1,JOBSA
JRST ACT
REQU: 0
EXE
MYPPN: 0
0
; THIS IS THE 32 WORD MAIL MESSAGE
EXE: XWD MASTER,0 ;18-27 NARGS, 30 RELOC, 31 HOLD, 32 SOTCH, 33-35 EXE
;0 READ IN OCTAL
;1 READ IN DECIMAL
;2 EXECUTE FILE
;3 EXECUTE FUNCTION
FILE: 0
PPPN: 0
BAND: 0
SEGJOB: 0
NAME: 0
STATUS: 0
SEGMENT:0
NERVES: 0
ETOR: 0
THETA: 0
ARGS: BLOCK =21
PACK: ;(INTEGER PTR,TIME;REFERENCE REAL SOLN);
MOVE 10,-3(P)
MOVE 1,-2(P)
MOVEM 1,(10) ;TIME
HRLZ 5,-1(P)
BLT 5,4 ;PICK UP A0-A4
MOVM 6,4 ;WHERE THE LARGEST WILL END UP
MOVEI 5,3
L1: MOVM 7,(5)
CAMGE 6,7
MOVE 6,7
SOJGE 5,L1
TDZ 6,[XWD 777,777777] ;THE LARGEST IS NOW IN 6
ADD 6,[XWD 12000,0] ;THE EXPONENT TO PUT FRACTION AND SIGN INTO RT. HALF
HLLM 6,-1(10)
UFA 6,4
HRLM 7,-3(10)
UFA 6,3
HRRM 7,-3(10)
UFA 6,2
HRLM 7,-2(10)
UFA 6,1
HRRM 7,-2(10)
UFA 6,0
HRRM 7,-1(10)
SUB P,[XWD 4,4]
JRST @4(P)
ISSERV: 0
SEE: SKIPN 1,REQU
JRST[ PTYGET 10
JRST[ OUTSTR[ASCIZ/NO PTYS AVAILABLE
/]
CALLI 12]
HRLI 10,0
MOVEM 10,PTYLIN#
GJ: MOVEI 11,[ASCIZ/L
/]
PTWRS7 10
WH: PTRD1W 10
CAIE 11,"#"
JRST[ CAIE 11,"?"
JRST WH
OUTSTR[ASCIZ\NO JOB FOR SERVO
TYPE C/R TO TRY AGAIN
\]
INCHWL
INCHWL
JRST GJ]
MOVEI 11,MYPPN
PTWRS7 10
WCC: PTRD1W 10
CAIE 11,"↑"
JRST WCC
SPJ: SETZ 1,
MOVEI 11,[ASCIZ/PJ
/]
PTWRS7 10
WJN: PTRD1W 10
CAIGE 11,72
CAIG 11,60
JRST ET
JRST[ SUBI 11,60
IMULI 1,12
ADD 1,11
JRST WJN]
ET: JUMPE 1,WJN
CAIE 11,12
JRST WJN
MOVEM 1,REQU
MOVEI 11,[ASCIZ/RU YELO[SYS,HE]
/]
PTWRS7 10
WCC2: PTRD1W 10
CAIE 11,"!"
JRST WCC2
JRST @ISSERV]
GOTONE: JRST @ISSERV
RSS: SETZM REQU
MOVE 10,PTYLIN
RSS1: PTRD1S 10
JRST [ MOVEI 11,[XWD 600600,0]
PTWRS9 10
RSS3: PTRD1W 10
CAIE 11,"."
JRST RSS3
MOVEI 11,[ASCIZ/RU YELO[SYS,HE]
/]
PTWRS7 10
RSS2: PTRD1W 10
CAIE 11,"!"
JRST RSS2
POPJ P,]
TTYUUO 1,11
JRST RSS1
RSTS: SETZM REQU
RSTSR: JRST .
SAVE: 0
DOIT: MOVE 1,-1(17)
MOVEM 1,FILE
MOVEM 1,ARM.WAIT
MOVE 1,-2(17)
HRRZM 1,BAND
MOVEI 2
SETZ 1,
CALLI 1,24
MOVEM 1,PPPN
PUSHJ P,ACT
RETM: SUB 17,[XWD 3,3]
JRST @3(17)
ARMFN: MOVEI 3+HOLD+RELOC
HRL 1,ARM.ME
HRRI 1,ARGS
BLT 1,ARGS+24
MOVE 1,-1(17)
DPB 1,[POINT 9,0,26]
PUSHJ P,ACT
SUB P,[XWD 2,2]
JRST @2(P)
HANDFN: MOVEI 3+HOLD
MOVE 1,ARM.ME
MOVE 1,(1)
MOVEM 1,ARGS
JRST ACT
ARMPRO: MOVE 1,-1(P)
MOVEM 1,ARGS
MOVEI 3
PUSHJ P,ACT
SUB P,[XWD 2,2]
JRST @2(P)
ACT: HRLI MASTER
SETZM ARM.STATUS
SKIPE STOP.ON
TRO TOUCH
MOVEM EXE
MOVE 1,ARM.WAIT
MOVEM 1,ARM.MOTION
SETZM ARM.WAIT
JSR ISSERV
SEND REQU
JRST[ MOVEI 1,2
CALLI 1,31
JRST .-1]
WFA: WRCV EXE
MOVE 1,ARM.VE
MOVEI 2,6(1)
HRLI 1,THETA
BLT 1,(2)
MOVE 1,ARM.TO
MOVEI 2,5(1)
HRLI 1,ARGS+10
BLT 1,(2)
MOVE 1,ARM.MOTION
MOVEM 1,ARM.WAIT
SETZM ARM.MOTION
MOVE 1,STATUS
MOVEM 1,ARM.STATUS
POPJ P,
END